package cn.marinda.resturants.service;

import cn.marinda.resturants.entity.Identity;
import cn.marinda.resturants.global.Pages;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.apache.ibatis.annotations.Select;
import org.springframework.beans.factory.annotation.Qualifier;

import java.util.List;

/** 身份服务层
 * @date 2021/12/2
 * @author Marinda
 * @version 1.0
 *
 */
public interface IdentityService extends IService<Identity> {


    /**
     * 选择身份uid
     *
     * @param uid uid
     * @return {@link Identity}
     */
    Identity selectIdentityUid(String uid);
    /** 分页
     *
     *
     * @date 2021/12/2
     */

    IPage<Identity> selectIdentityPages(Pages<Identity> pages);

    /** 查询所有身份数据
     *
     *
     * @date 2021/12/2
     */
    List<Identity> queryList();

    /** 添加身份数据
     *
     * @param identity identity
     * @return 数据处理
     */
    boolean addIdentity(Identity identity);

    /** 删除身份数据
     *
     * @param uid uid
     * @return 数据返回
     */
    boolean deleteIdentity(String uid);

    /** 修改身份数据
     *
     * @param identity 身份验证
     * @return 数据返回
     */
    boolean updateIdentity(Identity identity);



    /** 查询一个管理员所拥有的全部权限uid
     * 格式一般例如：101,102 逗号隔开
     * @param admin_uid 管理员uid
     * @return 权限uid
     */
    String selectPermissionUid(String admin_uid);

    /** 查询权限变更时间
     *
     * @param admin_uid  管理员
     * @return 时间
     */
    @Select("select * from r_administrator where admin_uid = #{admin_uid}")
    String selectUpdateTime(String admin_uid);
}
